package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CgEtapa generated by hbm2java
 */
@Entity
@Table(name = "CG_ETAPA", schema = "UPET")
public class CgEtapa implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 4766496474298826696L;
	private Integer cetapa;
	private TbEstadoCaso tbEstadoCaso;
	private CgCiclo cgCiclo;
	private TbUnidad tbUnidad;
	private CgGestion cgGestion;
	private String detapa;
	private String mtipoEtapa;
	private Integer ntiempoAsig;
	private String munidadTiempo;
	private Integer cetapaOrigen;
	private Integer cetapaSig;
	private Integer ccicloExterno;
	private String cusuario;
	private Date fhingreso;
	private Date fhmodificacion;
	private Integer bincluyeAvanc;
	private Integer bincluyeProd;
	private Set<CgActivEtapa> cgActivEtapas = new HashSet<CgActivEtapa>(0);
	private Set<CgProduccion> cgProduccions = new HashSet<CgProduccion>(0);
	private Set<CgRuta> cgRutas = new HashSet<CgRuta>(0);
	private Set<CgTecnicoCaso> cgTecnicoCasos = new HashSet<CgTecnicoCaso>(0);
	private Set<CgEstAvan> cgEstAvans = new HashSet<CgEstAvan>(0);
	private Set<CgCaso> cgCasos = new HashSet<CgCaso>(0);
	private Set<CgActividad> cgActividads = new HashSet<CgActividad>(0);
	private Set<CgCierreCaso> cgCierreCasos = new HashSet<CgCierreCaso>(0);

	public CgEtapa() {
	}

	public CgEtapa(Integer cetapa, CgCiclo cgCiclo, TbUnidad tbUnidad,
			String detapa, String mtipoEtapa, String cusuario, Date fhingreso,
			Date fhmodificacion, Integer bincluyeAvanc, Integer bincluyeProd) {
		this.cetapa = cetapa;
		this.cgCiclo = cgCiclo;
		this.tbUnidad = tbUnidad;
		this.detapa = detapa;
		this.mtipoEtapa = mtipoEtapa;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.bincluyeAvanc = bincluyeAvanc;
		this.bincluyeProd = bincluyeProd;
	}

	public CgEtapa(Integer cetapa, TbEstadoCaso tbEstadoCaso, CgCiclo cgCiclo,
			TbUnidad tbUnidad, CgGestion cgGestion, String detapa,
			String mtipoEtapa, Integer ntiempoAsig, String munidadTiempo,
			Integer cetapaOrigen, Integer cetapaSig, Integer ccicloExterno,
			String cusuario, Date fhingreso, Date fhmodificacion,
			Integer bincluyeAvanc, Integer bincluyeProd,
			Set<CgActivEtapa> cgActivEtapas, Set<CgProduccion> cgProduccions,
			Set<CgRuta> cgRutas, Set<CgTecnicoCaso> cgTecnicoCasos,
			Set<CgEstAvan> cgEstAvans, Set<CgCaso> cgCasos,
			Set<CgActividad> cgActividads, Set<CgCierreCaso> cgCierreCasos) {
		this.cetapa = cetapa;
		this.tbEstadoCaso = tbEstadoCaso;
		this.cgCiclo = cgCiclo;
		this.tbUnidad = tbUnidad;
		this.cgGestion = cgGestion;
		this.detapa = detapa;
		this.mtipoEtapa = mtipoEtapa;
		this.ntiempoAsig = ntiempoAsig;
		this.munidadTiempo = munidadTiempo;
		this.cetapaOrigen = cetapaOrigen;
		this.cetapaSig = cetapaSig;
		this.ccicloExterno = ccicloExterno;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.bincluyeAvanc = bincluyeAvanc;
		this.bincluyeProd = bincluyeProd;
		this.cgActivEtapas = cgActivEtapas;
		this.cgProduccions = cgProduccions;
		this.cgRutas = cgRutas;
		this.cgTecnicoCasos = cgTecnicoCasos;
		this.cgEstAvans = cgEstAvans;
		this.cgCasos = cgCasos;
		this.cgActividads = cgActividads;
		this.cgCierreCasos = cgCierreCasos;
	}

	@Id
	@Column(name = "C_ETAPA", unique = true, nullable = false, precision = 5, scale = 0)
	public Integer getCetapa() {
		return this.cetapa;
	}

	public void setCetapa(Integer cetapa) {
		this.cetapa = cetapa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_ESTADO")
	public TbEstadoCaso getTbEstadoCaso() {
		return this.tbEstadoCaso;
	}

	public void setTbEstadoCaso(TbEstadoCaso tbEstadoCaso) {
		this.tbEstadoCaso = tbEstadoCaso;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_CICLO", nullable = false)
	public CgCiclo getCgCiclo() {
		return this.cgCiclo;
	}

	public void setCgCiclo(CgCiclo cgCiclo) {
		this.cgCiclo = cgCiclo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_UNIDAD", nullable = false)
	public TbUnidad getTbUnidad() {
		return this.tbUnidad;
	}

	public void setTbUnidad(TbUnidad tbUnidad) {
		this.tbUnidad = tbUnidad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_GESTION")
	public CgGestion getCgGestion() {
		return this.cgGestion;
	}

	public void setCgGestion(CgGestion cgGestion) {
		this.cgGestion = cgGestion;
	}

	@Column(name = "D_ETAPA", nullable = false, length = 50)
	public String getDetapa() {
		return this.detapa;
	}

	public void setDetapa(String detapa) {
		this.detapa = detapa;
	}

	@Column(name = "M_TIPO_ETAPA", nullable = false, length = 1)
	public String getMtipoEtapa() {
		return this.mtipoEtapa;
	}

	public void setMtipoEtapa(String mtipoEtapa) {
		this.mtipoEtapa = mtipoEtapa;
	}

	@Column(name = "N_TIEMPO_ASIG", precision = 5, scale = 0)
	public Integer getNtiempoAsig() {
		return this.ntiempoAsig;
	}

	public void setNtiempoAsig(Integer ntiempoAsig) {
		this.ntiempoAsig = ntiempoAsig;
	}

	@Column(name = "M_UNIDAD_TIEMPO", length = 1)
	public String getMunidadTiempo() {
		return this.munidadTiempo;
	}

	public void setMunidadTiempo(String munidadTiempo) {
		this.munidadTiempo = munidadTiempo;
	}

	@Column(name = "C_ETAPA_ORIGEN", precision = 5, scale = 0)
	public Integer getCetapaOrigen() {
		return this.cetapaOrigen;
	}

	public void setCetapaOrigen(Integer cetapaOrigen) {
		this.cetapaOrigen = cetapaOrigen;
	}

	@Column(name = "C_ETAPA_SIG", precision = 5, scale = 0)
	public Integer getCetapaSig() {
		return this.cetapaSig;
	}

	public void setCetapaSig(Integer cetapaSig) {
		this.cetapaSig = cetapaSig;
	}

	@Column(name = "C_CICLO_EXTERNO", precision = 5, scale = 0)
	public Integer getCcicloExterno() {
		return this.ccicloExterno;
	}

	public void setCcicloExterno(Integer ccicloExterno) {
		this.ccicloExterno = ccicloExterno;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_MODIFICACION", nullable = false, length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Column(name = "B_INCLUYE_AVANC", nullable = false, precision = 1, scale = 0)
	public Integer getBincluyeAvanc() {
		return this.bincluyeAvanc;
	}

	public void setBincluyeAvanc(Integer bincluyeAvanc) {
		this.bincluyeAvanc = bincluyeAvanc;
	}

	@Column(name = "B_INCLUYE_PROD", nullable = false, precision = 1, scale = 0)
	public Integer getBincluyeProd() {
		return this.bincluyeProd;
	}

	public void setBincluyeProd(Integer bincluyeProd) {
		this.bincluyeProd = bincluyeProd;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgActivEtapa> getCgActivEtapas() {
		return this.cgActivEtapas;
	}

	public void setCgActivEtapas(Set<CgActivEtapa> cgActivEtapas) {
		this.cgActivEtapas = cgActivEtapas;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgProduccion> getCgProduccions() {
		return this.cgProduccions;
	}

	public void setCgProduccions(Set<CgProduccion> cgProduccions) {
		this.cgProduccions = cgProduccions;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgRuta> getCgRutas() {
		return this.cgRutas;
	}

	public void setCgRutas(Set<CgRuta> cgRutas) {
		this.cgRutas = cgRutas;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgTecnicoCaso> getCgTecnicoCasos() {
		return this.cgTecnicoCasos;
	}

	public void setCgTecnicoCasos(Set<CgTecnicoCaso> cgTecnicoCasos) {
		this.cgTecnicoCasos = cgTecnicoCasos;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgEstAvan> getCgEstAvans() {
		return this.cgEstAvans;
	}

	public void setCgEstAvans(Set<CgEstAvan> cgEstAvans) {
		this.cgEstAvans = cgEstAvans;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapaActual")
	public Set<CgCaso> getCgCasos() {
		return this.cgCasos;
	}

	public void setCgCasos(Set<CgCaso> cgCasos) {
		this.cgCasos = cgCasos;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgActividad> getCgActividads() {
		return this.cgActividads;
	}

	public void setCgActividads(Set<CgActividad> cgActividads) {
		this.cgActividads = cgActividads;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgEtapa")
	public Set<CgCierreCaso> getCgCierreCasos() {
		return this.cgCierreCasos;
	}

	public void setCgCierreCasos(Set<CgCierreCaso> cgCierreCasos) {
		this.cgCierreCasos = cgCierreCasos;
	}

}
